package com.wjc.oop.noName;

import java.time.LocalDateTime;

/**
 * @author wang'ji'cheng
 * @date 2025/7/15
 */
public class Test {
    public static void main(String[] args) {

        f(new Il(){

            @Override
            public void show() {
                System.out.println("当方法的参数是一个对象的时候，可以通过匿名内部类作为参数");
            }
        });
        f1(new Demo() {
            @Override
            public void get() {
                System.out.println("匿名内部类测试");
            }
        });

        f(()-> System.out.println("show"));

        f2(new Demo2() {
            @Override
            public void get(String str) {
                System.out.println(str);
            }
        });

        f2(str -> System.out.println(str));

        f2(str -> {
            System.out.println(str);
            LocalDateTime now = LocalDateTime.now();
            System.out.println(now + " +" + str);

        });



    }
    public static void f( Il il){
        il.show();
    }

    public static void f1(Demo demo){
        demo.get();
    }

    public static void f2(Demo2 demo2){
        demo2.get("str");
    }


public interface Il {
        void show();
    }
public interface Demo {
        void get();
}
public interface Demo2 {
        void get(String str);
}

}
